TikTok Shop Search Scraper
Pricing
from $1.22 / 1,000 product results
TikTok Shop Search Scraper
Scrape TikTok Shop search results by keyword. Get product titles, prices, sellers, ratings, sold counts, images, and URLs with bulk keywords, filters, sorting, pagination, retries, and proxy support.
Pricing
from $1.22 / 1,000 product results
Rating
0.0
(0)
Developer
Blynx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
šļø TikTok Shop Search Scraper
Find TikTok Shop products by keyword and turn search pages into clean product rows. Scrape public TikTok Shop search results across supported regions with price, seller, rating, sold count, image, product URL, free-shipping signals, and stable spreadsheet-friendly fields.
Built for product researchers, dropshippers, brands, agencies, marketplace analysts, and anyone tracking what is moving on TikTok Shop without opening hundreds of product cards by hand.
š„ What it does
- š Search one keyword or many keywords in a single run
- š Pick a TikTok Shop region such as US, GB, ES, MX, DE, FR, JP, and more
- š§¾ Extract product cards with title, product ID, URL, image, seller, price, sold count, rating, and reviews
- š Sort locally by relevance, best sellers, price, or rating
- šļø Filter products by price, rating, sold count, and free shipping
- š§¹ Deduplicate globally so the same product does not flood your dataset across keywords
- š§° Keep output flat so Apify "All fields", CSV, Excel, and Google Sheets exports stay usable
- š§Ŗ Save warning/error rows when a keyword or page cannot be fetched, so debugging is visible
āļø Simple input, extended controls
This actor supports the simple competitor-style input:
{"country_code": "US","keyword": "water bottle","limit": 50,"page": 1}
And it also supports a richer product-research workflow:
{"country_code": "US","keywords": ["neck fan", "phone case", "makeup organizer"],"maxItems": 50,"maxPages": 3,"sortBy": "best_sellers","dedupe": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
š” Pro tip: run broad keywords first (
water bottle,phone case,hair dryer brush), sort bybest_sellers, then re-run winners with price/rating filters.
š Supported regions
US, VN, TH, PH, MY, ID, GB, SG, ES, MX, DE, IT, FR, BR, JP
For the best results, match the proxy country to country_code when possible.
š„ Input fields
| Field | What it does |
|---|---|
country_code | TikTok Shop region code. Default is US. |
keyword | One search keyword. Kept for simple input compatibility. |
limit | Compatibility cap per keyword when maxItems is not set. |
page | First search page to fetch. |
keywords | Multiple keywords. Merged with keyword and deduplicated. |
maxItems | Maximum products to save per keyword. 0 means no explicit per-keyword cap. |
maxPages | Maximum pages to fetch per keyword. |
sortBy | relevance, best_sellers, price_asc, price_desc, or rating_desc. |
minPrice, maxPrice | Local price filters on normalized current price. |
minRating | Keep products at or above this rating. |
minSoldCount | Keep products at or above this sold count. |
freeShippingOnly | Keep only products with a free-shipping signal when TikTok exposes it. |
dedupe | Avoid duplicate products across keywords and pages. |
includeRawProduct | Adds the original TikTok product card as JSON text in rawProductJson. |
compactOutput | Removes empty values while preserving stable columns. |
maxConcurrency | Number of keywords processed in parallel. |
requestDelayMs | Optional pause between pages of the same keyword. |
proxyConfiguration | Apify proxy settings. Residential proxy is strongly recommended. |
š¤ Output
Product rows use type: "product_card" and status: "ok".
{"type": "product_card","status": "ok","countryCode": "US","query": "water bottle","page": 1,"sourceUrl": "https://www.tiktok.com/shop/s?q=water+bottle®ion=US&page=1","searchRank": 1,"sortedRank": 1,"productId": "1729595536444134138","title": "HydroJug Sport 32oz Portable Water Bottle","productUrl": "https://www.tiktok.com/shop/pdp/_/1729595536444134138?region=US","currentPrice": 24.99,"originalPrice": 29.99,"currency": "USD","currencySymbol": "$","soldCount": 5200,"soldText": "5.2K+ sold","rating": 4.8,"reviewCount": 342,"sellerId": "999","sellerName": "HydroJug","sellerUrl": "https://www.tiktok.com/shop/s/999?region=US","imageUrl": "https://...","freeShipping": false,"message": "","error": ""}
Warning and error rows
If TikTok returns an empty response or a page fails after retries, the actor still writes a row with:
type: "warning"ortype: "error"- the keyword and page
sourceUrlmessageerror- optional diagnostics
That makes bad keywords and proxy issues easy to spot in exports.
š§Ŗ Example searches
Find best-selling product ideas
{"country_code": "US","keywords": ["makeup organizer", "hair dryer brush", "press on nails"],"maxItems": 50,"maxPages": 3,"sortBy": "best_sellers"}
Filter by price and rating
{"country_code": "US","keyword": "portable blender","minPrice": 10,"maxPrice": 50,"minRating": 4.5,"maxItems": 100}
Compare regions
{"country_code": "GB","keywords": ["neck fan", "mini printer"],"maxItems": 100,"maxPages": 5,"sortBy": "rating_desc"}
š”ļø Reliability notes
- HTTP-only: no headless browser.
- Residential proxy recommended: TikTok Shop can return empty SSR data, region errors, or security checks on datacenter traffic.
- Keep concurrency moderate: start with
maxConcurrency: 1to3, then increase if results are stable. - Use raw output only when debugging:
includeRawProductmakes rows larger. - Flat output is intentional: it keeps Apify "All fields" and CSV exports predictable.
š¼ Use cases
- TikTok Shop product research
- Trend discovery
- Competitor product monitoring
- Price and rating checks
- Finding high-volume products by sold count
- Building product feeds for dashboards
- Marketplace analysis by country
- Dropshipping or brand scouting
ā FAQ
Q: Does it use a browser?
No. It uses HTTP requests only.
Q: Why did I get warning rows?
TikTok returned an empty or limited public response for that keyword/page. Try residential proxy, lower concurrency, or run the keyword again.
Q: Why are rating or seller fields empty?
TikTok does not expose every value for every product card. Empty fields are normal for some products and regions.
Q: Can I scrape multiple keywords?
Yes. Use keywords. If keyword is also set, both inputs are merged and deduplicated.
Q: How do I keep exports clean?
Leave compactOutput: true and includeRawProduct: false unless you are debugging.
š·ļø Tags
tiktok shop scraper Ā· tiktok shop search Ā· product research Ā· tiktok products Ā· marketplace scraper Ā· dropshipping research Ā· best sellers Ā· price monitoring Ā· apify tiktok shop
š Built for Apify | HTTP-only | Multi-keyword search | Flat product-card output